l NESQLUG NEWS !
! The Journal of Record of !
! New England Sinclair QL User Group t
' Vol II, No 6 :
! "A Beacon to Guide the Wandering Sojourner Home from the Abyss of Confusion” H
EDITOR'S NOTES
AS we reach the end of the
second year of operation close,
NESQLUG can justifiably pat
itself on its collective back.
Starting from a hardy little band of
renegades who felt that the Boston
Computer Society had grown too
impersonal for our needs, we have
grown to fourty.
Ostensibly, we are for New England
QL Users, but nearly half our
membership is outside New England,
the North American home of Sinclair.
We have met most of the objectives
of a lively user group. We have
learned more about the use of our
computer, we have been creative in
developing a useful and innovative
PD software library, and perhaps
most importantly we have formed
valued friendships.
We have achieved an international
reknown, with significant ‘ exposure
of both our serious side and the
whimisical in QL World
We have seen not just the survival
of our orphan computer, but the
regeneration of its life. Although
few younger enthusiasts have joined
the American scene and many of the
older have succumbed to aging and
had to leave, the worlwide the QL
has made greater technical progress
and found more varied applications
in the past two years than in its
entire life before, -
DIRECTORY
Director
Treasurer
Membership Sec'try
Disk Librarian
Program Director
Wewsletter Liason
NESQLUG NEWS
Al Boehn, 33 Selfridge Rd, Bedford MA 01730
Sherm Waterman, 40 Eileen St, Yarmouth Port MA 02675
Ed Kingsley, 16 Highland Ave, Saugus MA 01906
Willard Horton, 234 Mauran Ave, East Providence RI 02914 (401) 438-0929
Editor Peter Hale, 168 Bellingham St, Chelsea MA 02150
Mike Jonas, 1691 Cambridge St $21, Cambridge MA 02138
It's a great time to be part of the
world of the QL!
FAH
The NESQLUG NEWS is the Journal
of the New England Sinclair QL User
Group. It is published bi-monthly.
Annual membership is $10.00 (stu-
dents $5.00) in North America. The
rest of the world - $15.00 air mail.
We meet monthly on the first Sat-
urday of odd-numbered months and
the first Sunday of even numbered
months. If that's a holiday weekend,
we meet the following weekend.
NEXT MEETINGS
NESQLUG meets from 11:00 pm to
4:00pm, Saturday, May 2, at the
home of Al & Dorothy Boehm, 33
Selfridge Road, Bedford, MA. See
Agenda for topics. Call (617)
275-1097- for. directions. Come at
noon for coffee and set up.
In June it meets from 1:00 pm to
4:00 pn, Sunday, 7, at Al and
Dorothy Boehn's as above.
Our exchange policy is simple: we-
send-you-ours-if-you-send-us-yours
(WSYOIYSUY) and you have
something to say about the QL.
Please forward exchange issues to
Mike Jonas, 1691 Cambridge St. #21,
Cambridge MA 02138.
Unless copywritten by the author,
articles/listings are in the public
domain. Attribution is requested.
phone
(617) 275-1097
(508) 362-5322
(617) 233-3671
(617) 889-0830
(617) 876-7251
1 - May/June 1992
t
Editor's
Next Me
Dues
TIDBITS
M Ni
Recursic
The enc
that du
$10.00
elsewher
QL Worl
Maxwell :
it has }
maybe m
this. Su
forget th
NESQLUG
there ł
contribut
NES
aN
The Marc
delightful
welcome '
and Mi
NESQLUG.,
find our
interestin,;
Congratul:
her lands
contest,
between b
Joyce, may
On the ag
wil be a
SuperBASI
graphics «
to impleme
can do!
Additional
will inclue
Executable:
Mike oo
presente. -
eer. each call.
—
lly calls itself
er of y each
n the base y.
cursion stops
he remainder
2turns. The
or a number
The power is
digit printed
es until the
fer). It is a
ubtle enough
ad scratching
exercise add
t base : '3j
'zbase i,j
run. Use
ers . then
ew
ithm almost
er than 10.
ften used in
nt) displays
10, 11, 12,
st substitute
uses single
numbers.
| Illustrating
ircles inside
the level of
els 1
‘els (i)
i=i+1:j=i
O:END IF
1-j
NEW ENGL
AND
R QL
ROUP
Box 8763
Boston, MA 02114
% P.O.
a
H
<
A
u
4)
<
H
0
H
u
i
bl
by
Ryo me iat gs 3
May/June
1992
NESQOLUG News
Om ome oa oa om s
nf usa"
> s-a- a i a
e part of the
HHH
; the Journal
clair QL User
bi-monthly.
$10.00 (stu-
America. The
00 air mail.
he first Sat-
2 months and
en numbered
day weekend,
reekend. .
[NGS
11:00 pm to
r 2, at the
7 Boehm, 33
'd, MA. See
` (617)
S. Come at
up.
1:00 pm to
at Al and
re.
simple: we-
nd-us~yours
you have
the QL.
e issues to
dge St. #21,
the author,
the public
equested.
phone
(617) 275-1097
(508) 362-5322
(617) 233-3671
(*"1) 438-0929
~ ) 889-0830
(617) 876-7251
/June 1992
' CONTENTS
Editor's notes
Next Meeling
Dues
TIDBITS
MEETING Agenda
Recursion in SuperBASIC
DUES DUE
The enå of one fiscal year means
that dues are due for next year:
$10.00 in North America; $15.00
elsewhere.
BS NNN mm
TIDBITS
QL World survives the death of the
Maxwell publishing empire. We hear
it has been sold twice to date -
maybe more by the time you read
this. Subscribers may just have to
forget the May issue.
NESQLUG NEWS is a shorty because
there have not been enough
contributions! Enough said.
NESQLUG MEETING
AGENDA:
by Will Horton
The March meeting turn out was a
delightful success. I would like to
welcome Tom & Andrew Cavanaugh,
and Mike Panagiotopoulos to
NESQLUG. We hope that they will
find our group to be a fun and
interesting activity,
Congratulations to Joyce Blaho for
her landslide victory in the beep
contest. It was quite a challenge
between both contestants. Next year,
Joyce, maybe I will beat you!
On the agenda for the May meeting
will be a graphics contest using
SuperBASIC. The QL has fine
graphics capabilities that are easy
to implement. Let us see what you
can do!
Additional topics at the May meeting
will include "Key Words Out of
Executables" to be Presented by
Mike Jonas; "Biorhythms" to be
presented by Ernie Wider. Last but
NESQLUG NEWS -2 -
not least, Ed Kingsley will presen:
"QLIP Board" and other utilities.
In closing, my position as Program
Director is to assist the group in
putting together an interesting and
fun agenda so that each meeting is
an informative yet enjoyable
occasion.
If you have an idea -or topic or a
Piece of software you have cone
across, please share your find or
hobby with the rest of the group.
You would be Surprised how your
knowledge could benefit other QL
enthusiasts.
Feel free to contact me if you have
any suggestions or ideas, so that
we can incorporate your ideas into
meeting topics. Anyone who has a
topic that they would like to
present at the May or any other
meeting, please feel free to contact
me at home.
RECURSION IN
SuperBASIC
by Bill Cable
Recursion in programming means a
program can call itself. SuperBASIC
supports recursion in both func-
tions and procedures.
Below are some short programs
illustrating recursion. Sometimes a
programming task can be accom-
plished by a procedure repeatedly
calling itself. This might seem like
lifting yourself up by your
bootstraps or chasing your tail, but
it works.
Naturally, a programming task must
fit criteria applicable to a recursive
solution. Recursion reuses the same
code over and over. Each time a
procedure calls itself the system
must store local variable values and
a returning address (we don't
worry about it).
When recursion ends, the returning
addresses and values are needed as
the program Teturns to each
recursion call ~ like following a
string back through a dark cave.
(Cont. next page)
May/June 1992
Something within a procedure must
halt recursions and start the return
process. If not, the recursions will
go on until the computer runs out
of memory for variables and
addresses. Thus, the number of
recursions is limited, though a short
procedure could make over 2000
recursive calls before running out
of memory on an unexpanded QL.
Recursion makes for short programs,
but if many recursions are needed,
it may not be the fastest program-
ming solution because the system
takes time to set up each recursion.
In a C manual I found a short
program to convert decimal numbers
to binary ones by recursion. It is
adapted below to SuperBASIC and
generalized so that any positive
integer decimal number can be
displayed in any base from 2 to 10.
We commonly use decimal (base 10)
numbers (0, 1, 2, 3, 4, 5, 6, 7, 8 and
9) put in digits arranged right to
left in powers of 10. Thus 452 is
4x10°2 + 5x10°1 + 2x10°0 (where
means raised to the power of). .
We sometimes use binary (base 2)
numbers (0 and 1) laid out right to
left representing powers of 2 (2°0,
271, 2^2, etc).
Other base systems are less familiar
but follow the same rules. So base
3 means that numbers are composed
of the numbers 0, 1, and 2 and
. arranged in powers of 3. It is hard
for us to quickly interpret numbers
in other base systems so this simple
Program makes them a little easier
to comprehend. Try running it:
10 DEFine PROCedure base(x,y)
20 IF x > (y-1)
30 base INT(x/y),y
40 END IF
50 PRINT x MOD y;
60 END DEFine base
Run by typing the procedure name
with 2 arguments. The first argu-
ment (x) is the decimal number and
the second (y) is the base used.
The result is printed on the screen.
NESQLUG NEWS -3 -
Print a new line between each call.
For instance :
cls:base 63,2
print:base 64,2
print:base 64,3
The procedure repeatedly calls itself
reducing x by a power of y each
time until x is less than the base y.
When that happens, recursion stops
and each call prints the remainder
(MOD function) and returns. The
remainder is always 0 or a number
less than the base. The power is
greatest at the first digit printed
(left most); it decreases until the
right most digit (0 power). It is a
Simple program but subtle enough
that it takes a little head scratching
to understand.
For a more interesting exercise add
this to the program :
100 CLS:INPUT ‘Use what base: ‘sj
110 FOR i = 1 TO 1000
120 PRINT : PRINT i;' ‘;:base i,j
130 END FOR i
Start by entering run. Use
<CTRL><F5> to halt screen, then
<F5> to restart.
Amazingly, the algorithm almost
works for bases greater than 10.
Hexadecimal (base 16 - often used in
the computer environment) displays
fine except that where 10, 11, 12,
13, 14, 15 occur we must substitute
a, b, c, d, e, f as HEX uses single
digit symbols for those numbers.
Below is a fina: program illustrating
recursion. It creates circles inside
each other to represent the level of
recursion reached.
10 WINDOW 512,206,0,0
20 INK 1:PAPER 7:CLS:levels 1
30 DEFine PROCedure levels(i)
-40 IF i<50
50 CIRCLE 75,50,51-isi=it+1: jai
60 levels i
70 END IF
80 IF j=50:INK 7:PAPER 0:END IF
90 . j=j-1:CIRCLE 175,50,51-j
100 END DEFine levels
(A definite must for any one
interested in graphics! Ed.)
May/June 1992
AND
R QL
Rox 8763
MA 092117.
NEW
A
Bosto